#ifndef 	__BSP_GPIO_OUTPUT_H_
#define		__BSP_GPIO_OUTPUT_H_

#include  "stm32f0xx.h"

#define     A_GPIO_PORT            GPIOA
#define     A_GPIO_PIN             GPIO_Pin_5
#define     A_GPIO_CLK             RCC_AHBPeriph_GPIOA
#define     A_GPIO_APBxClkCmd      RCC_AHBPeriphClockCmd

#define     B_GPIO_PORT            GPIOA
#define     B_GPIO_PIN             GPIO_Pin_4
#define     B_GPIO_CLK             RCC_AHBPeriph_GPIOA
#define     B_GPIO_APBxClkCmd      RCC_AHBPeriphClockCmd

#define     C_GPIO_PORT            GPIOA
#define     C_GPIO_PIN             GPIO_Pin_3
#define     C_GPIO_CLK             RCC_AHBPeriph_GPIOA
#define     C_GPIO_APBxClkCmd      RCC_AHBPeriphClockCmd

#define     A_OUTPUT(x)             (x?GPIO_SetBits(A_GPIO_PORT,A_GPIO_PIN):GPIO_ResetBits(A_GPIO_PORT,A_GPIO_PIN))
#define     B_OUTPUT(x)             (x?GPIO_SetBits(B_GPIO_PORT,B_GPIO_PIN):GPIO_ResetBits(B_GPIO_PORT,B_GPIO_PIN))
#define     C_OUTPUT(x)             (x?GPIO_SetBits(C_GPIO_PORT,C_GPIO_PIN):GPIO_ResetBits(C_GPIO_PORT,C_GPIO_PIN))

#define     MAX_TIME                8800


extern uint8_t flag1s;
extern volatile uint16_t Turn_On_Time;


 void OUTPUT_GPIO_Config(void);
 void OUTPUT_Control(uint32_t period,uint32_t duty);
 void Delay_us(volatile uint16_t us);
#endif